package cn.stylefeng.guns.modular.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.xml.crypto.Data;
import java.io.Serializable;
import java.util.Date;

/**
 *
 * 日程项
 *
 * @author third_e
 * @create 2019/12/10 0010-上午 12:24
 */
@TableName("te_scheduleitem")
public class Scheduleitem implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "scheduleitem_id",type = IdType.ID_WORKER)
    private Long scheduleitemId;

    /**
     * 日期
     */
    @TableField("scheduleitem_day")
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
//    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private String scheduleitemDay;

    /**
     * 名称
     */
    @TableField("scheduleitem_name")
    private String scheduleitemName;

    /**
     * 地点
     */
    @TableField("location")
    private String location;

    /**
     * 内容
     */
    @TableField("content")
    private String content;

    /**
     * 状态
     */
    @TableField("scheduleitem_status")
    private String scheduleitemStatus;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private String startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private String endTime;

    /**
     * 日程id
     */
    @TableField("schedule_id")
    private long scheduleId;

    /**
     * 框架id
     */
    @TableField("frame_id")
    private long frameId;

    /**
     * 框架项id
     */
    @TableField("frameitem_id")
    private long frameitemId;

    /**
     * 创建者
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;


    /**
     * 关联框架项信息
     */
//    @TableField(exist = false)
//    private Frameitem frameitem;
//
//    public Frameitem getFrameitem() {
//        return frameitem;
//    }
//
//    public void setFrameitem(Frameitem frameitem) {
//        this.frameitem = frameitem;
//    }

    public Long getScheduleitemId() {
        return scheduleitemId;
    }

    public void setScheduleitemId(Long scheduleitemId) {
        this.scheduleitemId = scheduleitemId;
    }

    public String getScheduleitemDay() {
        return scheduleitemDay;
    }

    public void setScheduleitemDay(String scheduleitemDay) {
        this.scheduleitemDay = scheduleitemDay;
    }

    public String getScheduleitemName() {
        return scheduleitemName;
    }

    public void setScheduleitemName(String scheduleitemName) {
        this.scheduleitemName = scheduleitemName;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getScheduleitemStatus() {
        return scheduleitemStatus;
    }

    public void setScheduleitemStatus(String scheduleitemStatus) {
        this.scheduleitemStatus = scheduleitemStatus;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public long getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(long scheduleId) {
        this.scheduleId = scheduleId;
    }

    public long getFrameId() {
        return frameId;
    }

    public void setFrameId(long frameId) {
        this.frameId = frameId;
    }

    public long getFrameitemId() {
        return frameitemId;
    }

    public void setFrameitemId(long frameitemId) {
        this.frameitemId = frameitemId;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "Scheduleitem{" +
                "scheduleitemId=" + scheduleitemId +
                ", scheduleitemDay=" + scheduleitemDay +
                ", scheduleitemName='" + scheduleitemName + '\'' +
                ", location='" + location + '\'' +
                ", content='" + content + '\'' +
                ", scheduleitemStatus='" + scheduleitemStatus + '\'' +
                ", startTime='" + startTime + '\'' +
                ", endTime='" + endTime + '\'' +
                ", scheduleId=" + scheduleId +
                ", frameId=" + frameId +
                ", frameitemId=" + frameitemId +
                ", createUser=" + createUser +
                ", createTime=" + createTime +
                ", updateUser=" + updateUser +
                ", updateTime=" + updateTime +
                ", version=" + version +
                '}';
    }
}
